home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / kernel / sys / sys.h < prev    next >
C/C++ Source or Header  |  1992-12-18  |  3KB  |  101 lines

  1. /*
  2.  * sys.h --
  3.  *
  4.  *     Routines and types for the sys module.
  5.  *
  6.  * Copyright 1985 Regents of the University of California
  7.  * All rights reserved.
  8.  *
  9.  * $Header: /cdrom/src/kernel/Cvsroot/kernel/sys/sys.h,v 9.12 92/08/03 17:41:49 mgbaker Exp $ SPRITE (Berkeley)
  10.  *
  11.  */
  12.  
  13. #ifndef _SYS
  14. #define _SYS
  15.  
  16. #ifndef _ASM
  17.  
  18. #ifdef KERNEL
  19. #include <user/sys.h>
  20. #include <sprite.h>
  21. #include <status.h>
  22. #include <spriteTime.h>
  23. #else /* KERNEL */
  24. #include <sys.h>
  25. #include <sprite.h>
  26. #include <status.h>
  27. #include <spriteTime.h>
  28. #endif /* KERNEL */
  29.  
  30. #endif /* _ASM */
  31.  
  32. /*
  33.  * Stuff for system calls.
  34.  *
  35.  * SYS_ARG_OFFSET    Where the system calls arguments begin.
  36.  * SYS_MAX_ARGS        The maximum number of arguments possible to be passed
  37.  *                to a system call.
  38.  * SYS_ARG_SIZE        The size in bytes of each argument.
  39.  */
  40.  
  41. #define    SYS_ARG_OFFSET    8
  42. #define    SYS_MAX_ARGS    10
  43. #define    SYS_ARG_SIZE    4
  44.  
  45. #ifndef _ASM
  46. #ifdef KERNEL
  47.  
  48. extern    Boolean    sys_ShuttingDown;    /* Set when halting */
  49. extern    Boolean    sys_ErrorShutdown;    /* Set after a bad trap or error */
  50. extern    Boolean    sys_ErrorSync;        /* Set while syncing disks */
  51. extern    Boolean sys_CallProfiling;    /* Set if timing system calls */
  52. extern    int    sys_NumCalls[];
  53. extern    char    sys_HostName[];        /* The name of this host. */
  54. extern    Boolean    sys_DontPrint;        /* Turn off printing to console. */
  55.  
  56. extern void    Sys_Init _ARGS_((void));
  57. extern void    Sys_SyncDisks _ARGS_((int trapType));
  58. extern int    Sys_GetHostId _ARGS_((void));
  59. extern void    Sys_HostPrint _ARGS_((int spriteID, char *string));
  60. extern ReturnStatus Sys_GetTimeOfDay _ARGS_((Time *timePtr,
  61.             int *localOffsetPtr, Boolean *DSTPtr));
  62. extern ReturnStatus Sys_SetTimeOfDay _ARGS_((Time *timePtr, int localOffset,
  63.             Boolean DST));
  64. extern void    Sys_RecordCallStart _ARGS_((void));
  65. extern void    Sys_RecordCallFinish _ARGS_((int callNum));
  66. extern ReturnStatus Sys_GetHostName _ARGS_((char *name));
  67. extern ReturnStatus Sys_SetHostName _ARGS_((char *name));
  68.  
  69. extern int    vprintf _ARGS_(());
  70. extern void    panic _ARGS_(());
  71.  
  72. /* Temporary declaration until prototyping is done */
  73. extern ReturnStatus Proc_RemoteDummy();
  74.  
  75. typedef struct unixSyscallEntry {
  76.     int (*func)();
  77.     int numArgs;
  78. } unixSyscallEntry;
  79.  
  80. extern unixSyscallEntry sysUnixSysCallTable[];
  81.  
  82. #else
  83.  
  84. /*
  85.  *  Declarations of system call stubs, which happen to have the
  86.  *  same name as the user-visible routines.
  87.  */
  88.  
  89. extern ReturnStatus Sys_GetTimeOfDay();
  90. extern ReturnStatus Sys_SetTimeOfDay();
  91. extern ReturnStatus Sys_DoNothing();
  92. extern ReturnStatus Sys_Shutdown();
  93. extern ReturnStatus Sys_GetMachineInfo();
  94. extern ReturnStatus Sys_GetMachineInfoNew();
  95. extern ReturnStatus Sys_GetHostName();
  96. extern ReturnStatus Sys_SetHostName();
  97.  
  98. #endif /* KERNEL */
  99. #endif /* _ASM */
  100. #endif /* _SYS */
  101.